package com.ccnf.model.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldFill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author developer
 * @since 2018-06-07
 */
@Data
@TableName("invitation")
public class Invitation extends Model<Invitation> {

    private static final long serialVersionUID = 1L;

    /**
     * 邀请函ID
     */
    @ApiModelProperty(value = "邀请函ID", hidden = true)
    @TableId("invitation_id")
    private Long invitationId;
    /**
     * 引用的邀请函ID,默认为0代表根
     */
    @ApiModelProperty("引用的邀请函ID,默认为0代表根")
    @TableField("reference_id")
    private Long referenceId;
    /**
     * 展会ID
     */
    @ApiModelProperty("展会ID")
    @TableField("expo_id")
    private Long expoId;
    /**
     * 创建邀请函的用户ID
     */
    @ApiModelProperty("创建邀请函的用户ID")
    @TableField("user_id")
    private Long userId;
    /**
     * 邀请函标题
     */
    @ApiModelProperty("邀请函标题")
    @TableField("invitation_title")
    private String invitationTitle;
    /** 邀请函首页封面图片URL */
    @ApiModelProperty("邀请函首页封面图片URL")
    @TableField("home_image")
    private String homeImage;
    /**
     * 邀请函封面图片URL
     */
    @ApiModelProperty("邀请函封面图片URL")
    @TableField("surface_image")
    private String surfaceImage;
    /**
     * 邀请函分享时的缩略图URL
     */
    @ApiModelProperty("邀请函分享时的缩略图URL")
    @TableField("thumbnail_image")
    private String thumbnailImage;
    /**
     * 分享时输入的内容描述
     */
    @ApiModelProperty("分享时输入的内容描述")
    @TableField("share_content")
    private String shareContent;
    /**
     * 邀请函内容
     */
    @ApiModelProperty("邀请函内容")
    @TableField("invitation_content")
    private String invitationContent;
    /**
     * 名片名称
     */
    @ApiModelProperty("名片名称")
    @TableField("card_name")
    private String cardName;
    /**
     * 名片职位
     */
    @ApiModelProperty("名片职位")
    @TableField("card_job")
    private String cardJob;
    /**
     * 名片联系方式
     */
    @ApiModelProperty("名片联系方式")
    @TableField("card_phone")
    private String cardPhone;
    /**
     * 名片的公司名称
     */
    @ApiModelProperty("名片的公司名称")
    @TableField("card_company")
    private String cardCompany;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", hidden = true)
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    private Long createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间", hidden = true)
    @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)
    private Long updateTime;
    /**
     * 发布邀请函的时间
     */
    @ApiModelProperty("发布邀请函的时间")
    @TableField("publish_time")
    private Long publishTime;
    /**
     * 邀请函放入回收站时间
     */
    @ApiModelProperty("邀请函放入回收站时间")
    @TableField("delete_time")
    private Long deleteTime;
    /**
     * 状态(0:未发布,1:已发布,2:回收站,3:删除)
     */
    @ApiModelProperty("状态")
    private Integer status;
    /**
     * 是否开启入场登记（0：否，1：是）
     */
    @ApiModelProperty("是否开启入场登记")
    @TableField("is_register")
    private Integer isRegister;
    /**
     * 是否开放编辑（0：否，1：是）
     */
    @ApiModelProperty("是否开放编辑")
    @TableField("is_edit")
    private Integer isEdit;

    /**
     * 是否显示二维码（0：否，1：是）
     */
    @ApiModelProperty("是否显示二维码")
    @TableField("is_code")
    private Integer isCode;

    @ApiModelProperty("是否显示名片")
    @TableField("is_card")
    private Integer isCard;

    @TableField("group_id")
    private String groupId;

    @ApiModelProperty("是否开启赏金邀约")
    @TableField("is_money")
    private Integer isMoney;

    @ApiModelProperty("是否引用")
    @TableField("is_reference")
    private Integer isReference;

    @ApiModelProperty("赏金邀约图片")
    @TableField("reward_image")
    private String rewardImage;

    @ApiModelProperty("领奖手机")
    @TableField
    private String phone;

    @Override
    protected Serializable pkVal() {
        return this.invitationId;
    }
}